#ifndef RenderWorldLocal_h__
#define RenderWorldLocal_h__

#include "RenderWorld.h"

typedef inf::List<renderEntity_t>   entityList_t;
typedef inf::List<renderLight_t>    lightList_t;

class RenderWorldLocal: public RenderWorld {
public:
    RenderWorldLocal();
    ~RenderWorldLocal();

    RenderModel*    ImportModelFromFile( const char* fileName );
    RenderModel*    GenerateStaticModel( genType_t type );

    const char*     GetMapName() const;

    void            AddEntity( renderEntity_t& ent );
    void            AddLight( renderLight_t& light );

    void            SetRenderView( const renderView_t& view );
    renderView_t    GetMainView() const;

    void            UpdateScene();

    void            RenderScene();

    renderView_t    GetDefaultView() const;
protected:
    inf::Str        mapName;

    entityList_t    entityDefs;
    lightList_t     lightDefs;

    renderView_t    mainView;
};

#endif // RenderWorldLocal_h__